/* eslint valid-jsdoc: "off" */

/**
 * @param {Egg.EggAppInfo} appInfo app info
 */

const path = require('path');
module.exports = appInfo => {
	/**
	 * built-in config
	 * @type {Egg.EggAppConfig}
	 **/
	const config = exports = {};

	// use for cookie sign key, should change to your own and keep security
	config.keys = appInfo.name + '_xiechun';
	// 设置日志时间格式
	config.logger = {
		consoleLevel: 'DEBUG',
		datefmt: 'yyyy-MM-dd HH:mm:ss',
	};


	// add your middleware config here
	config.middleware = ['checktoken'];
	config.mysql = {
		// 单数据库信息配置
		client: {
			// host
			host: '127.0.0.1',
			// 端口号
			port: '3306',
			// 用户名
			user: 'root',
			// 密码
			password: 'root',
			// 数据库名
			database: 'currency',
			timezone: '+08:00'
		},
		
		// 是否加载到 app 上，默认开启
		app: true,
		// 是否加载到 agent 上，默认关闭
		agent: false,
	};
	config.security = {
		csrf: {
			enable: false,
		},
		jwt: {
			key: 'sfaasfv16545132416'
		}
	};

	// add your user config here
	const userConfig = {
		// myAppName: 'egg',
	};
	config.checktoken = {
		match(ctx) {
			// ctx 上下文  可以获取请求的地址
			const url = ctx.request.url
			console.log('111111111', url)
			if (url.indexOf('api') == -1) {
				return false
			} else {
				return true
			}
		},
	};

	// multipart 配置
	// config.multipart = {
	//   fileSize: '5mb', // 文件大小限制
	//   mode: 'file', // 文件上传方式，file 或 stream
	// };

	config.static = {
		// 默认配置下，我们将 public 目录作为静态文件目录
		dir: path.join(appInfo.baseDir, 'app/public'),
		// 其他配置...
	};

	config.sequelize = {
		dialect: "mysql", // 数据库类型
		// host
		host: '127.0.0.1',
		// 端口号
		port: '3306',
		// 用户名
		user: 'root',
		// 密码
		password: 'root',
		// 数据库名
		database: 'currency',
		timezone: '+08:00'
	};
	config.cors = {
		origin: "*", // 允许所有的请求源
		allowMethods: "GET,HEAD,PUT,POST,DELETE,PATCH",
	};

	return {
		...config,
		...userConfig
	};
};